$(function() {
    // 发起请求获取文章分类
    let layer = layui.layer
    let form = layui.form
    initArticle()

    // 创建函数用来刷新图书分类列表
    function initArticle() {
        $.ajax({
            method: 'GET',
            url: '/my/article/cates',
            success: function(res) {
                if (res.status !== 0) {
                    return '获取文章列表失败'
                }
                let htmlStr = template('tpl-table', res)
                $('tbody').html(htmlStr)
            }
        })
    }

    let addIndex = null
        // 给添加类别函数绑定点击事件
    $('#btnAddCate').on('click', function() {
        addIndex = layer.open({
            type: 1,
            area: ['500px', '250px'],
            title: '添加文章分类',
            content: $('#dialog-add').html()
        })
    })

    // 给提交修改按钮绑定事件委托的提交事件
    $('body').on('submit', '#form-add', function(e) {
        e.preventDefault()
        $.ajax({
            method: 'POST',
            url: '/my/article/addcates',
            data: $(this).serialize(),
            success: function(res) {
                if (res.status !== 0) {
                    return '增加文章分类失败'
                }
                layer.msg('增加文章分类成功')
                initArticle()
                layer.close(addIndex)
            }
        })
    })

    let editIndex = null
        // 给编辑按钮绑定一个点击事件，弹出层
    $('body').on('click', '.btn-edit', function() {
        editIndex = layer.open({
                type: 1,
                area: ['500px', '250px'],
                title: '修改文章类别',
                content: $('#dialog-edit').html()
            })
            // 先获取原有的数据
        let dataId = $(this).attr('data-id')
        $.ajax({
            method: 'GET',
            url: '/my/article/cates/' + dataId,
            success: function(res) {
                if (res.status !== 0) {
                    return '获取数据失败'
                }
                form.val('form-edit', res.data)
            }
        })
    })

    $('body').on('submit', '#form-edit', function(e) {
        e.preventDefault()
        $.ajax({
            method: 'POST',
            url: '/my/article/updatecate',
            data: $(this).serialize(),
            success: function(res) {
                if (res.status !== 0) {
                    return '文章编辑失败'
                }
                layer.msg('编辑文章成功')
                initArticle()
                layer.close(editIndex)
            }
        })
    })

    // 给删除按钮绑定点击事件
    $('body').on('click', '.btn-delete', function() {
        let dataId = $(this).attr('data-id')
        layer.confirm('确定删除吗？', { icon: 3, title: '提示' }, function(index) {
            $.ajax({
                method: 'GET',
                url: '/my/article/deletecate/' + dataId,
                success: function(res) {
                    if (res.status !== 0) {
                        return '删除文章列表失败'
                    }
                    layer.msg('删除文章列表成功')
                    initArticle()
                }
            })
            layer.close(index);
        });

    })
})